package grupo1.fotomultas.Fotomultas.EstadosInfraccion;

import org.uqbar.commons.model.UserException;

import grupo1.fotomultas.Fotomultas.Infracciones.Infraccion;

public class InfraccionPerdonada extends EstadoInfraccion {
	
	private static InfraccionPerdonada instance;

	public static InfraccionPerdonada instance(){
		if(instance==null)
			instance = new InfraccionPerdonada();
		return instance;
	}
	
	@Override
	public Boolean estasPerdonada() {
		return true;
	}

	@Override
	public void marcarPagada(Infraccion infraccion) {
		throw new UserException("Una infraccion perdonada no puede ser pagada");		
	}
	
	@Override
	public void marcarInvalidada(Infraccion infraccion) {
		throw new UserException("La infraccion perdonada no puede ser invalidada");
	}

	@Override
	public void marcarPerdonada(Infraccion infraccion) {
		throw new UserException("La infraccion ya fue perdonada con anterioridad");
	}
}
